<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Util
 *
 * @author felipe
 */
class Voitech_Util {
    static public function converteModeloArrayCombo($arDados,$dsCampo,$dsValor,$selecione=null){
        $arRetorno = array();
        if(!is_null($selecione)){
            $arRetorno[''] = 'Selecione'; 
        }
        foreach($arDados as $dado){                        
            $novoCampo = "";
            if(strpos($dsCampo,'##')){                
                $arCampo = explode('##', $dsCampo);
                foreach($arCampo as $campo){
                    $getAtributo = "get".$campo;
                    $novoCampo .= $dado->$getAtributo() . "##";
                }
                $novoCampo = substr($novoCampos,0,-2);
            } else {
                $getAtributo = "get".$dsCampo;
                $novoCampo = $dado->$getAtributo();
            }
            $novoValor = "";
            if(strpos($dsValor,'##')){                
                $arValor = explode('##', $dsValor);
                foreach($arValor as $valor){
                    $getAtributo = "get".$valor;
                    $novoValor .= $dado->$getAtributo() . "##";
                }
                $novoValor = substr($novoValor,0,-2);
            } else {
                $getAtributo = "get".$dsValor;
                $novoValor .= $dado->$getAtributo();
            }                                  
            $arRetorno[$novoCampo] = $novoValor;
        }
        return $arRetorno;        
    }
    
    static public function validarArray(array $arParametro){        
        $arErros = '';        
        foreach($arParametro as $chave=>$valor){
            if(empty($valor)){                
                $arErros[] = substr($chave,3);
            }
        }
        
        if(!empty($arErros)){            
            throw new Voitech_Exception('Favor preencher os seguintes campos: '.implode(', ',$arErros));
        }
    }
    
    static public function gerarArrayNumerico($inicio,$fim){
        $inicio = (int) $inicio;
        $fim = (int) $fim;
        for($x=$inicio;$x<$fim;$x++){
            $ar[$x]=$x;
        }
        return $ar;
    }
    
    public function converteDataBanco($data,$marcador='/')
    {
        list($dia, $mes, $ano) = explode($marcador, substr($data, 0, 10));

        $dataBanco = "$ano-$mes-$dia";

        if(strlen($data)>10){
            list($hora, $minuto, $segundo) = explode(":", substr($data, 11, 8));
            $dataBanco .= "$hora:$minuto:$segundo";
        }

        return $dataBanco;
    }
    
}
